System and method for allocating processing bandwith in a residential gateway utilizing transmission rules and data mapping

ABSTRACT

A system and method of networking with configurable data mapping is disclosed. Data mapping can be utilized to match data transmission types with devices that can efficiently utilize the data transmission type. In one configuration, the data mapping teachings disclosed herein may be utilized to increase the processing efficiency of a home network and insure correct programming is allowed to pass to the correct device by applying a set of data transmission rules to data transmissions between a residential gateway and it&#39;s clients. An exemplary method may include receiving a communication at a residential gateway from a client and identifying the client or the source of the transmission. The client may be identified by recognizing one or more of a data transmission type, a client identifier embedded in the transmission, and an identification of a network device hosting the client. The identification may, in some cases, be made automatically upon reception of a data transmission. The transmission type is then compared to the contents of a look-up table and the transmission can be modified according to a predetermined configuration. In one embodiment a bandwidth allocation of a client request is utilized to either allow the data stream or block the data stream from being passed to a particular network client.

FIELD OF THE DISCLOSURE

The present disclosure relates generally to networked communications and more specifically to allocating the processing and transmitting resources of a residential gateway.

BACKGROUND

The public's desire to extend the functionality of the World Wide Web and other communication systems into their home continues to grow. Home devices that are connectable to the Internet, cable networks, satellite systems or communication networks generally can allow individuals to extend services provided by Internet service providers, telephone companies, cable TV companies, entertainment/media providers, satellite companies, utility companies and businesses generally, into their home. Residential gateways allow individuals to connect these service providers to many devices within their home. Devices such as personal digital assistants, telephones, computers, printers, facsimiles, televisions, appliances and other home networking devices can achieve both wired and wireless Internet connectivity within a home. Unfortunately, current techniques for managing communications between the various devices of a modem home network have several shortcomings.

BRIEF DESCRIPTION OF THE DRAWINGS

It will be appreciated that for simplicity and clarity of illustration, elements illustrated in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements are exaggerated relative to other elements. Embodiments incorporating teachings of the present disclosure are shown and described with respect to the drawings presented herein, in which:

FIG. 1 is a diagram of an in-home network system connected to a wide area network;

FIG. 2 is an illustration of a graphical user interface that could be utilized to configure data mapping and data transmission rules for a home network; and

FIG. 3 is a flow chart of a method for controlling transmissions within a home network.

DETAILED DESCRIPTION OF THE DRAWINGS

A system and method of networking with configurable data mapping is disclosed. Data mapping can be utilized to match data transmission types with devices that can efficiently utilize the data transmission type. In one configuration, the data mapping teachings disclosed herein may be utilized to increase the processing efficiency of a home network and insure correct programming is allowed to pass to a device by applying a set of data transmission rules to data transmissions between a residential gateway and it's clients. An exemplary method may include receiving a communication at a residential gateway from a client and identifying the client or the source of the transmission. The client may be identified by recognizing a programming format, a data transmission type, a client identifier embedded in the transmission, and an identification of a network device hosting the client. The identification may, in some cases, be made automatically upon reception of a data transmission. The identity of the transmission, the client or the device is then compared to the contents of a look-up table and the transmission can be modified or blocked according to predetermined transmission rules. In one embodiment a bandwidth allocation of a client request is utilized to allow the data stream, modify the data stream or block the data stream from being passed to a particular network client.

Using the identity, a data-mapping rule may be located utilizing a look-up table and the rule can then be applied to communications between the identified client and the residential gateway. Depending upon implementation detail, the data transmission rules can be auto configured by the system or manually configured by the user or a service provider. In practice, a residential gateway or a set top box may be utilized to manage the communications of network devices. In some cases, this mapping process of the residential gateway may help prevent a home network from malfunctioning when the network is heavily loaded. The teachings disclosed herein may help a residential gateway to “make good decisions” when determining what device should receive what type of transmission or programming when servicing both less important devices and extremely important devices. In other words, the processing performed to filter data resources of a residential gateway can inherently improve the quality of service for all network devices.

The concept of networking residential appliances and entertainment devices is growing in popularity, but there may be many reasons why home networking systems have not developed as quickly as some might like. One reason relates to the price of network equipment that has the required communication bandwidth to provide on-demand service to multiple high bandwidth devices. Multimedia services including video, audio, and interactive services (e.g. gaming), to home network devices such as computers, and televisions requiring substantial network bandwidth. Some other services such as those supporting PDAs and Cell Phones, home monitors and home lighting controllers require a smaller amount of bandwidth. Moreover, some home network devices communicate information that is not time sensitive. Some of these devices can only display limited amount of information on their viewing screens and at times may be able to wait a long period of time to receive replies to their request.

In one configuration of the present disclosure, home network devices such as computers, and televisions that receive streaming video or other high bandwidth applications can be efficiently serviced because the bandwidth allocated to other devices is limited. Devices such as those with smaller displays can require or can utilize programming or data transmissions that are tailored to fit their displays. The teachings herein can efficiently service multiple clients by determining bandwidth consumption of the tailored programming and permitting or restricting the tailored programming to flow to particular devices possibly based on the type of device.

In accordance with the teachings of the present disclosure and in one particular configuration, data transmission rules or data mapping by device type are stored in a table in the residential gateway. The rules can be applied to all transmissions destined for various devices from WAN to LAN through the residential gateway. The data transmission rules can be automatically configured utilizing a computer program or the rules can be configured, for example, by a user with the aid of a graphical user interface. The rules can be tailored to improve the utilization of the residential gateway's processing resources, while minimizing the resources consumed by certain network devices. Specifically, each network device, client, or transmission can be identified as the request is sent through the residential gateway to the programming Internet site.

Referring to FIG. 1, an illustrated system 100 for controlling communications within a household utilizing a residential gateway is provided. As depicted, system 100 may take a residential high bandwidth service input 122 and efficiently distribute the gateway's processing and transmitting resources to devices within the residence. In one configuration, a residential gateway 102 can transmit and receive data over the Internet 124 via the high bandwidth service input 122. The service input 122 could be a coaxial cable, a fiber to the premise, a satellite link, a digital subscriber (DSL) line or any other physical medium capable of supporting a broadband connection. Depending upon implementation detail, residential gateway 102 can include main components such as a processor, a memory 104, and a look up table 106.

The residential gateway 102 can also facilitate communications between clients residing on network devices in the home by routing and switching data between the devices. In addition, the residential gateway can route the data to and from the wide area network (WAN)/Internet 124. For example, residential gateway 102 can receive movies from a service provider formatted for television over the Internet 124 and send video streams to first television 111, second television 113 and computer 112 via residential gateway and/or first set-top box and second set top box.

Network based services designed to be viewed on a television, such as multimedia entertainment services typically require significant amount of data throughput and hence are referred to herein as high bandwidth services. The residential gateway 102 can also couple the Internet 124 to clients residing on network devices such as personal digital assistant (PDA) 130, cell phone 132, appliances 134, surveillance cameras 136, utility meters 138, security systems 140, light controllers 142, heating ventilating and air conditioning (HVAC) controller 144, or any other applications that require lower network bandwidth. The network devices accommodating lower bandwidth applications typically have smaller viewing screens and will function properly when provided with lower resolutions and lower frame rates that can be accommodated with a smaller bandwidth. Thus, depending upon implementation detail, a client requiring lower bandwidth applications can be assigned a less bandwidth rule preventing programming not designed for viewing on the smaller screens from being passed to these devices.

Communication link 120 is illustrated as a hard-wired connection to the lower bandwidth devices and clients 130, 132, 134, 136, 138, 140, 142 and 144, however the home network devices 110, 111, 112, 113, 130, 132, 134, 136, 138, 140, 142, and 144 can be coupled to the residential gateway 102 utilizing wires or by wireless communication links. First antenna 108 and second antenna 116 can facilitate the communication links. Second antennae 116 represents a plurality of antennas possibly implemented with each network devices.

Depending upon implementation detail, a set top box 110 can be coupled between the residential gateway 102 and the first television 111 or any other network device. The set top box 110 can act as a converter accepting commands from a handheld remote and correspondingly selecting specific television channels or Internet features. The set top box 110, which can typically convert standard or high definition video, to be displayed on the television (TV) can receive various IP video streams based on the design of the device. The set top box must have the correct high-bandwidth programming to display a quality picture on the TV and must not be allowed to receive low bandwidth applications intended for devices with smaller viewing screens such as PDAs and cell phones. In accordance with the bandwidth allocations and data mapping taught herein, the set top box 110 can provide IP video to high definition TVs or an analog conversion of the video to older model televisions.

Network programming from the WAN to the LAN typically utilize the Internet Protocol (IP) to deliver standard definition, high definition, standard definition or PIP peripheral interchange program or low bandwidth programming to various devices on the LAN. LAN transport protocols can include the following; Ethernet protocol, or Ethernet over one of the following technologies including; Wifi 802.11a, b, g, WiMax, (a.k.a. IEEE 8011 and IEEE 806), home phone line network alliance (HPNA), HomePlug or any other protocol suitable for communication between network devices.

In operation, the user can initiate a request for a universal resource locator (URL) or a universal resource identifier (URI) from various network devices (a URI or URL is a network address for a specific provider). This request can travel through the residential gateway 102 to servers connected to the WAN/Internet 124. When the residential gateway 102 processes these requests, lower bandwidth clients can request programming that has not been properly formatted for their particular screen. One way to identify an overreaching request is to determine the amount of bandwidth consumption required by the program being downloaded and compare it to the identified device.

The residential gateway can recognize that the requested programming is disproportionate to the device request based on a profile of the requesting device or the type of device requesting the programming. The device type or client type can be matched to the bandwidth of the programming request at the residential gateway 102 and the programming can be altered or blocked according to the bandwidth allocation/data mapping rules. In one embodiment, rules regarding bandwidth allocation to the network devices or clients are stored in look-up table 106. The rules can be applied to processing resources in the residential gateway 102 and other devices such as set top box 110 such that bandwidth resources are efficiently allocated in the local network.

A method incorporating teachings of the present disclosure may be better understood by elaborating on three parts of the process, 1) data mapping/rule configuration, 2) providing rules for the system, and 3) identifying the data transmission for mapping/rule application.

1) Transmission Configuration Rules for Gateway Operations.

Depending upon implementation detail, it is may be advantageous to allocate the processing resources of the residential gateway 102 or any communication switch within a residence, such that devices requiring substantial resources are provided with higher bandwidth or a quality service. Further, devices that can subsist on minimal resources are provided with lower bandwidth or a lower quality of service. Thus, the transmission rules/data mapping may be created and applied in order to manage the processing resources of the local area network or residential gateway 102.

In one configuration, an initial determination can be made whether to apply the processing and transmission rules based on available resources. The decision of whether to implement, or apply the rules can be made after resource utilization is determined. Depending upon implementation detail, when low bandwidth clients request services or transmissions from the residential gateway 102, the residential gateway 102 can determine if the programming will be allowed as the programming is being downloaded, by performing a look up, and then implementing an appropriate rule. Thus, communications can be made with each type of network device according to the rules.

In another configuration when the residential gateway 102 is busy, certain clients could be completely ignored, particularly low bandwidth non-essential clients. In another configuration a minimal amount of residential gateway resources could be utilized to provide a trickle of bandwidth to be shared by “less important” clients. The minimal amount could also be used to provide a “courtesy busy signal” to low bandwidth clients to keep the client communication link active.

2) Providing Rules to the System

The rules applied to the residential gateway resources can be user configured, downloaded over the Internet 124, installed on the residential gateway 102, and/or provided in some other effective fashion and stored in look-up table 106.

Referring to FIG. 2, a graphical user interface 202 (GUI) that could be utilized to configure bandwidth allocations and data mapping by creating, and defining the application of data transmission rules within a home network is illustrated. GUI 202 provides a block diagram of the network devices such as the Internet 224, residential gateway 202, television 210, PDA 230, first computer 212, second computer 213, cell phone, and HVAC controller 244. In the illustration, the “flagship” computer 213 has been selected by the user and the details of the data transmission rules created for the flagship computer 213 are illustrated in first window 250. In second window 246, the clients running on the network device flagship 213 are provided, and in third window 248 other networking details are provided such as the device's IP address. The data provided in FIG. 2 could provide a portion of the contents stored in the look-up table 106.

A browser could also be utilized by an individual connected to the LAN or a service provider connected through the WAN to create and edit transmission protocol/data mapping rules for individual network devices or clients. In one configuration the process includes assigning device identifiers, names or usernames to network clients or network devices and associating the identifier with at least one rule. In one implementation a processing priority can be assigned to the identifier and stored in a look up table configuration.

3) Identifying Clients for Rule Application

Some data transmissions may have a client identifier already embedded in the transmission while other transmission may not have an “inherent” cue as to the client or device associated with the transmission. Thus, in one configuration the residential gateway 102 can identify a client or device transmission by analyzing programming or data embedded in the transmission. Transmission types or programming such as e-mails, website addresses (e.g., URL or a URI), or the presence of video data may be utilized to allocate or apply a predetermined transmission rule/data mapping.

In another configuration, the client transmission can be identified based on the port to which the client or device is connected. The word “client transmission” used herein refers to transmissions intended for the client and/or transmissions from the client. Depending upon implementation detail, a system for tagging the data transmissions for identification can be accomplished. Thus, in an alternate embodiment a client identifier method is set up as part of the network infrastructure. Many methods could be utilized to tag or identify programming or data transmissions.

In one embodiment a client identifier is assigned to the client and the electronic identifier is utilized in transmissions. For example, a user name can be assigned to the network device or a client and the user name can be utilized to distinguish transmission from different devices/clients. In other embodiments, a media access control (MAC) address, an Internet protocol address, a private Internet protocol address, or any other alphanumeric identifier can be utilized. In yet another embodiment the protocol type or “language” of the transmission can be utilized to identify a device/client associated with a data transmission.

In further embodiments, groups of MAC addresses may be linked to the type of device or type of client. For example, makers of PDAs may assign groups of numbers to their PDAs. Thus, when a client has a MAC address that falls within a group of addresses, the transmission/device/client can be identified by the MAC address. In another embodiment, private IP addresses can be assigned to devices/clients and utilized to identify data transmissions.

Many additional methodologies could be utilized to link or map network devices/clients to transmission and processing rules. For example, a handshake process could occur where the residential gateway assigns user names or user IDs to the network devices/clients. Transmissions can be identified with information contained in the header of the transmission and the table can link a device/client to rules assigned to the data transmissions.

Referring back to FIG. 1, data transmissions between the residential gateway 102 and network devices/clients can be delayed or the client or network device can function at a modified (i.e. lower) data rate based on rule enforcement or execution. The processor, retrieving instructions from memory 104 can identify the originator of the transmission and utilize the look-up table 106 to determine rules for making the bandwidth allocation within the residential gateway 102 for the subject transmission. The processor can also apply the rules/mapping as it processes data transmissions with a network client of a network device. Thus, an appropriate programming bandwidth for the network device/client will be utilized to communicate with one or more devices/clients.

The present teaching can reduce the bandwidth requirements and complexity of the residential gateway 102. In one configuration the disclosed bandwidth management process could be utilized in all transmissions related to the devices/clients. Depending upon implementation detail, the residential gateway 102 could have high-speed ports and low speed ports and high-speed processors and low speed processors. The rules in the table could be utilized to allocate the high-speed components to the high bandwidth clients and the low-speed components to the lower bandwidth clients.

Referring to FIG. 3, a method of operation that may be utilized in connection with the system 100 of FIG. 1 is illustrated. The method starts at 302 and proceeds to 304 where a data transmission is received from a client residing on a network device at a residential gateway. The client requesting services is identified and a rule or mapping associated with the client is located at step 306. The identity of the network client may be determined in many ways as discussed above. Depending upon implementation detail, the identifier may be assigned by the method of the present invention. In one configuration when the network resources are limited, the residential gateway as in step 308 may proceed to apply a rule or data mapping and possibly change the transmission format or programming at step 310 to maximize the residential gateway resources.

The above-disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments, which fall within the true spirit and scope of the present invention. Thus, to the maximum extent allowed by law, the scope of the present invention is to be determined by the broadest permissible interpretation of the following claims and their equivalents, and shall not be restricted or limited by the foregoing detailed description. 

What is claimed is:
 1. A method comprising: receiving a communication at a residential gateway from a local network client residing on a network device, wherein the local network client is a client of the residential gateway; identifying a client transmission type of the local network client; identifying a bandwidth allocation rule associated with the client transmission type, wherein the bandwidth allocation rule includes an indication of a local network client status associated with the local network client, wherein the local network client status is one of a low bandwidth status and a high bandwidth status; determining, based on a profile associated with the local network client, whether programming identified in the communication is disproportionate with respect to the local network client status; altering the programming according to the identified bandwidth allocation rule when the programming identified in the communication is identified as disproportionate with respect to the local network client status; determining a residential gateway status, wherein the residential gateway status is one of busy and not busy; allocating a high-speed processor and a high-speed port to a first group of network devices and allocating a low-speed processor and a low-speed port to a second group of network devices, wherein the local network client is included in the first group of network devices or the second group of network devices based on the bandwidth allocation rule associated with the local network client, wherein the first group of network devices and the second group of network devices include other local network clients, and wherein each of the other local network clients is associated with a corresponding bandwidth allocation rule, and wherein a particular client, of the other local network clients, is included in the first group of network devices or the second group of network devices based on a particular bandwidth allocation rule corresponding to the particular client; and ignoring the communication received from the local network client when the residential gateway status is determined to be busy and the local network client status is identified as the low bandwidth status.
 2. The method of claim 1, further comprising preventing high bandwidth services from being provided to a low bandwidth client based on the bandwidth allocation rule.
 3. An apparatus comprising: a processor; a memory coupled to the processor, the memory configured to store instructions; and a first port configured to receive a request of a first data transmission, the request received from a client via a first network device that is coupled to the first port, wherein the instructions, when executed by the processor, cause the processor to perform operations including: identifying a first bandwidth allocation rule associated with a type of communication received from the client, wherein the first bandwidth allocation rule includes an indication of a client status, wherein the client status is one of a low bandwidth status and a high bandwidth status; determining an apparatus status, wherein the apparatus status is one of busy and not busy; determining, based on a profile associated with the client, whether programming identified in the request received from the client is disproportionate with respect to the client status; altering the programming according to the bandwidth allocation rule associated with the client when the programming identified in the request is identified as disproportionate with respect to the client status; allocating a high-speed processor and a high-speed port to a first group of network devices and allocating a low-speed processor and a low-speed port to a second group of network devices, wherein the client is included in the first group of network devices or the second group of network devices based on the bandwidth allocation rule associated with the client, and wherein the first group of network devices and the second group of network devices include other clients, wherein each of the other clients is associated with a corresponding bandwidth allocation rule, and wherein a particular client, of the other clients, is included in the first group of network devices or the second group of network devices based on a particular bandwidth allocation rule corresponding to the particular client; and ignoring the request when the apparatus status is determined to be busy and the client status is identified as the low bandwidth status.
 4. The apparatus of claim 3, further comprising a second port connectable to a second network device, wherein a second data transmission is output to the second network device in conformance with a second bandwidth allocation rule.
 5. A computer readable storage device storing instructions that, when executed by a processor, cause the processor to perform operations including: receiving a communication at a residential gateway from a local network client residing on a network device, wherein the local network client is a client of the residential gateway; identifying a client transmission type of the local network client; identifying a bandwidth allocation rule associated with the client transmission type, wherein the bandwidth allocation rule includes an indication of a local network client status that is associated with the local network client, wherein the local network status is one of a low bandwidth status and a high bandwidth status; determining, based on a profile associated with the local network client, whether programming identified in the communication is disproportionate with respect to the local network client status; altering the programming according to the identified bandwidth allocation rule when the programming is identified as disproportionate with respect to the local network client status; determining a residential gateway status, wherein the residential gateway status is one of busy and not busy; allocating a high-speed processor and a high-speed port to a first group of network devices and allocating a low-speed processor and a low-speed port to a second group of network devices, wherein the local network client is included in the first group of network devices or the second group of network devices based on the bandwidth allocation rule associated with the local network client, wherein the first group of network devices and the second group of network devices include other local network clients, and wherein each of the other local network clients is associated with a corresponding bandwidth allocation rule, and wherein a particular local network client, of the other local network clients, is included in the first group of network devices or the second group of network devices based on a particular bandwidth allocation rule corresponding to the particular local network client; and ignoring the communication received from the local network client when the residential gateway status is determined to be busy and the local network client status is identified as the low bandwidth status.
 6. The method of claim 1, further comprising allocating a bandwidth portion to the local network client when the residential gateway status is determined to be not busy and the local network client status is identified as the high bandwidth status, wherein a size associated with the bandwidth portion allocated to the local network client is determined at least in part based on a comparison of an amount of bandwidth consumption of the transmission to a bandwidth quantity available to the residential gateway.
 7. The method of claim 6, wherein allocating the bandwidth portion to the local network client comprises allocating a first bandwidth portion to a first set of devices and allocating a second bandwidth portion to a second set of devices, wherein allocating each bandwidth portion is based on a corresponding bandwidth allocation rule associated with each device in the first set of devices and the second set of devices.
 8. The method of claim 7, wherein allocating the bandwidth portion further comprises evaluating bandwidth needs of the other local network clients of the residential gateway.
 9. The apparatus of claim 3, wherein: the processor comprise the high-speed processor and the low-speed processor; and the first port comprises the high-speed port and the low-speed port.
 10. The method of claim 1, wherein the client transmission type includes one of an email type, a web content type, or a video type.
 11. The method of claim 1, further comprising outputting a transmission from the residential gateway to the local network client based on the bandwidth allocation rule.
 12. The apparatus of claim 3, wherein the operations further include initiating the first data transmission to the client based on the bandwidth allocation rule.
 13. The computer readable storage device of claim 5, wherein the operations further include initiating a transmission of the programming identified in the communication from the residential gateway to the local network client based on the bandwidth allocation rule.
 14. The method of claim 1, wherein a transmission is output from the residential gateway to the local network client conditioned on determining that the transmission is intended for the local network client.
 15. The method of claim 14, wherein determining that the transmission is intended for the local network client comprises establishing a match between a transmission type of the transmission and the client transmission type.
 16. The method of claim 14, wherein determining that the transmission is intended for the local network client comprises establishing a match between a language of the transmission and a language of the communication received at the residential gateway from the local network client.
 17. The apparatus of claim 3, wherein the operations further include initiating a transmission to the client conditioned on a confirmation that the transmission is intended for the client, wherein the confirmation comprises establishing a match between a language of the transmission and a language of the request received at the apparatus from the client.
 18. The method of claim 1, wherein determining whether the programming identified in the communication is disproportionate with respect to the local network client status is further based on a local network client type associated with the local network client.
 19. The apparatus of claim 3, wherein the operations further include determining whether the programming identified in the request is disproportionate with respect to the client status further based on a client type associated with the client.
 20. The computer readable storage device of claim 5, wherein the operations further include determining whether the programming identified in the communication is disproportionate with respect to the local network client status further based on a local network client type associated with the local network client.
 21. The computer readable storage device of claim 5, wherein the operations further include allocating a bandwidth portion to the local network client when the residential gateway status is determined to be not busy and the local network client status is identified as the high bandwidth status, wherein a size associated with the bandwidth portion allocated to the local network client is determined based on a bandwidth quantity available to the residential gateway. 